package net.siufung.core.model.consts;

/**
 * @author 陈建峰
 * @since 2022/6/29 6:16 下午
 */
public interface RegexPool extends cn.hutool.core.lang.RegexPool {

    String LOGIN_NAME = "^[a-zA-Z][a-zA-Z0-9_]{8,15}$";
    String LOGIN_NAME_TIP = "用户名允许以字母开头，并且字母数字下划线组合，长度为8-16字节！";

    String LOGIN_PASSWORD = "^.*(?=.{8,16})(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$";
    String LOGIN_PASSWORD_TIP = "密码强度，最少8位，最多16个字符，包括至少1个大写字母，1个小写字母，1个数字，1个特殊字符[!@#$%^&*?]！";

    String MOBILE_RIGOROUS = "^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[1|8|9]))\\d{8}$";
    String MOBILE_RIGOROUS_TIP = "输入手机号格式不符合规范！";

    String ID_CARD_NUMBER = "^\\d{8}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}$)|(^\\d{6}(18|19|20)\\d{2}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}(\\d|X|x)$";
    String ID_CARD_NUMBER_TIP = "支持1/2代(15位/18位数字)身份证号码";

    String EMAIL_TIP = "输入邮箱格式不符合规范！";

    String MAC_ADDRESS = "^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$";

    String SOCIAL_CREDIT_CODE = "^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$";
    String SOCIAL_CREDIT_CODE_TIP = "统一社会信用代码格式不符合规范！";

    String CHINESE_NAME = "^(?:[\\u4e00-\\u9fa5·]{2,16})$";
    String CHINESE_NAME_TIP = "中文名称格式不符合规范！";
}
